#include <iostream>
#include <cstdio>
using namespace std;

long long a, f[51][4500], n, m, v, l, r, cnt, tot;

inline int read() {
	int k = 0;
	char c = getchar();
	for(;!isdigit(c); c = getchar());
	for(; isdigit(c); c = getchar()) k = k * 10 + c - '0';
	return k;
}

int main() {
#ifndef LOCAL
	freopen("conbination.in", "r", stdin);
	freopen("conbination.out", "w", stdout);
#endif
	n = read();
	v = n * 100;
	f[0][0] = 1;
	for(int i = 1; i <= n; i++) {
		a = read();
		m += a;
		for(int j = v; j >= 0; j--) {
			f[i][j] += f[i-1][j];
		}
		for(int j = v - a; j >= 0; j--) {
			f[i][j + a] += f[i-1][j];
		}
		
	}
	
	l = read();
	r = read();
	
	if(r < l){
		printf("0");
		return 0;
	} 
	
	for(int j = 0; j <= m; j++) {
		tot += f[n][j];
	}
	
	for(int j = l; j <= r; j++) {
		cnt += f[n][j];
	}
	
	printf("%.4lf",(double)cnt/tot);
	
}


/*kZime*/

